package com.weijian.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.weijian.dal.entity.MatchDetail;
import com.weijian.dal.entity.MatchResult;
import com.weijian.dto.match.MatchResultData;
import com.weijian.dto.match.RouteShipmentDTO;

import java.util.List;

/**
 * 匹配结果服务接口
 */
public interface MatchResultService extends IService<MatchResult> {
    
    /**
     * 查询所有匹配结果（包含匹配详情）
     * @return 匹配结果数据列表
     */
    List<MatchResultData> getAllMatchResultsWithDetails();
    
    /**
     * 根据dataId查询匹配结果（包含匹配详情）
     * @param dataId 数据ID
     * @return 匹配结果数据列表
     */
    List<MatchResultData> getMatchResultsWithDetailsByDataId(Integer dataId);
    
    /**
     * 根据路线ID查询匹配详情
     * @param routeId 路线ID
     * @return 匹配详情列表
     */
    List<MatchDetail> getMatchDetailsByRouteId(Integer routeId);
    
    /**
     * 根据ID查询匹配结果，如果不存在则返回null
     * @param id 匹配结果ID
     * @return 匹配结果
     */
    MatchResult getMatchResultById(Integer id);
    
    /**
     * 批量查询路线的货物ID
     * @param routeIds 路线ID列表
     * @return 路线货物DTO列表
     */
    List<RouteShipmentDTO> getShipmentIdsByRouteIds(List<Integer> routeIds,Integer dataId);
}